package com.kotodama.application.dto.validation;

import com.kotodama.domain.enums.TenantStatus;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Pattern;
import jakarta.validation.constraints.Size;

/**
 * 租户验证DTO
 * 使用Bean Validation进行基础字段验证
 */
public class TenantValidationDto {

    @NotBlank(message = "租户名称不能为空")
    @Size(min = 2, max = 50, message = "租户名称长度必须在2-50个字符之间")
    @Pattern(regexp = "^[a-zA-Z0-9\\u4e00-\\u9fa5_-]+$", message = "租户名称只能包含字母、数字、中文、下划线和连字符")
    private String name;

    private TenantStatus currentStatus;

    private TenantStatus newStatus;

    private String operation;

    public TenantValidationDto() {
    }

    public TenantValidationDto(String name, TenantStatus currentStatus) {
        this.name = name;
        this.currentStatus = currentStatus;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public TenantStatus getCurrentStatus() {
        return currentStatus;
    }

    public void setCurrentStatus(TenantStatus currentStatus) {
        this.currentStatus = currentStatus;
    }

    public TenantStatus getNewStatus() {
        return newStatus;
    }

    public void setNewStatus(TenantStatus newStatus) {
        this.newStatus = newStatus;
    }

    public String getOperation() {
        return operation;
    }

    public void setOperation(String operation) {
        this.operation = operation;
    }
}